草庐IT

Java \'Prototype\' 模式 - new vs clone vs class.newInstance

全部标签

javascript - 将数据从 Java/JSF2 bean 传递到 Javascript/jQuery 组件作为返回值的最佳方法

我无法确定将数据从Java支持/托管bean传递到jQuery/Javascript组件(例如Highcharts)的最佳方法,以便我的网络应用程序以动态、实时的方式生成/显示数据。我在Java方面非常扎实,但我对JavaScript/jQuery的了解非常有限,这显然是我失败的地方。据我所知,最好的方法是在我的网络应用程序上对一个隐藏字段进行Ajax化并传递一个JSON对象或字符串?进入它,然后将该值传递到我的JS组件中。首先,这似乎有点费力,因为我需要一个Ajax调用来更新JSON数据,然后调用setInterval将数据重新读取到JS组件中?我希望我可以将数据直接传递到JS组件中

Javascript无限原型(prototype)链

我正在使用以下测试代码:functionTest(){}Test.prototype.MyMethod={a:function(){},b:function(){}}为了运行它,我只是在做:vartest=newTest();console.debug(test);在firebug控制台中,我展开打印的对象并查看__proto__的内部:在那里找到一个看似永无止境的构造函数链->原型(prototype):+MyMethod-constructor-prototype+MyMethod-constructor-prototype+MyMethod-constructor等等。我在这里做

javascript - 为什么在原型(prototype)中定义属性被认为是一种反模式

我经常看到这种模式来定义javascript对象functionPerson(name){this.name=name;}Person.prototype.describe=function(){return"Personcalled"+this.name;};并且在thisarticle它说直接向原型(prototype)对象添加属性被认为是一种反模式。来自“基于经典类”的语言,必须定义方法之外的属性听起来不太正确,而且在javascript中,方法应该只是一个具有函数值的属性(我在这里吗?)我想知道是否有人可以解释这一点,或者甚至建议一种更好的方法来处理这些情况

javascript - 带有 Object.create 和命名构造函数的原型(prototype) OO

我是从Python和Smalltalk的背景转到Javascript的,我很欣赏这门语言中Self和Lisp的传承。使用ECMAScript5,我想在没有new运算符的情况下尝试原型(prototype)OO。约束:创建类的可选new运算符instanceof的原型(prototype)链必须是正确的用于WebInspector调试支持的命名构造函数alloc().init()创建序列,类似于Objective-C和Python这是我为满足标准而进行的尝试:functionsubclass(Class,Base){"usestrict";functioncreate(self,args

javascript - 模块模式 - 为什么 JQuery 作为参数传入?

我想我理解了模块模式,但是为什么有些例子像这样将JQuery作为参数传入:Namespace.AppName=(function($){//CodeHere})(jQuery);如果我不传入JQuery,我仍然可以通过在模块内调用$()来很好地使用Jquery库。那么为什么有些人会这样做呢? 最佳答案 这里的想法是你通过jQuery作为$到内部函数,确保$是jQuery。这通常用于保护使用$的代码尤其是在将jQuery与其他使用$的库一起使用时像mootools。例如,如果您在中有此代码//"$"isjQuery//"jQuery"

javascript - 如何以全屏模式启动 TinyMCE 4?

有没有办法以全屏模式启动TinyMCE4?我刚从TinyMCE3.x升级,但在3.x中完成的方式在4.x中似乎不起作用:tinyMCE.init({oninit:function(){tinyMCE.get('editor').execCommand('mceFullScreen');}});有什么建议吗? 最佳答案 了解如何去做:tinyMCE.init({plugins:['fullscreen'],setup:function(editor){editor.on('init',function(e){editor.execCo

javascript - 创建 javascript 类时使用什么模式?

在Javascript中创建类(如在OOP中)的最佳方法是什么?现在我正在使用以下模式。可以吗?varmyclass=(function(){var_name;varbaseObject={a:10,c:function(){return_name+"world"+privateFunc();}};functionprivateFunc(){return_name+"-ba";};functionmyclass(name){_name=name;this.x=9;};myclass.prototype=baseObject;returnmyclass;})();

javascript - 使用 URL 和哈希切换 Bootstrap 模式

我想使用带有散列的URL来调用特定的Bootstrap模态。换句话说,用户在page1上并单击指向page2#hash的链接,并且在page2加载时加载#hash模式。根据我在其他问答中读到的内容,我尝试了很多变体,但没有任何效果。我对JS一点经验都没有,所以非常感谢您的帮助!这是我所拥有的:第1页上的链接:第2页的HTML:...第2页上的Javascript:if(window.location.hash){varhash=window.location.hash;$("'"+hash+"'").modal('toggle');}顺便说一下,当用户实际在page2上时调用模式就可以

javascript - 如何用自定义函数替换javascript原型(prototype)

//IamtryingtomakeacloneofString'sreplacefunction//andthenre-definethereplacefunction(withamindto//calltheoriginalfromthenewonewithsomemods)String.prototype.replaceOriginal=String.prototype.replaceString.prototype.replace={}下一行现已损坏-我该如何修复?"loremipsum".replaceOriginal(/(orem|um)/g,'')

javascript - 为 Angular JS 启用 html 5 模式会抛出 JS 错误 : Failed to instantiate module due to: TypeError: Cannot read property 'html5Mode' of undefined

如何为AngularJS启用html5模式?'usestrict'varblogApp=angular.module('blogApp',['ngRoute']).config(['$routeProvider',function($routeProvider,$locationProvider){$routeProvider.when('/disclaimer',{templateUrl:'templates/disclaimer.html',controller:'DisclaimerCtrl'});$routeProvider.otherwise({redirectTo:'/'}